package com.glela.goods.model.vo.goods;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.glela.goods.model.Brand;
import com.glela.goods.model.Goods;
import com.glela.goods.model.GoodsCommission;
import com.glela.goods.model.GoodsDetail;
import com.glela.goods.model.GoodsNavigate;
import com.glela.goods.model.GoodsPrice;
import com.glela.goods.model.OverseasGoodsLable;
import com.glela.goods.model.SpecDesc;

public class GoodsVo extends Goods {

	private Brand brand;// 品牌

	private List<GoodsNavigate> goodNavigateList;// 介绍图

	private List<GoodsDetail> goodDetailList;// 商品详情

	private List<GoodsDetail> goodSpecImgList;// 商品规格图片列表

	private List<GoodsDetail> goodsNoticeImgList;// 商品购买须知图片列表

	private List<SpecDesc> specDescList;// 规格

	private List<GoodsServiceVo> goodsServiceList;// 商品服务

	private int recommendNum;// 推荐人数

	private GoodsCommission goodsCommission;// 商品分佣

	private int commentNum;// 评论人数

	private int shareYanzhi;// 分享可增加的颜值数

	private String saleStatus;// 销售状态

	private GoodsPrice goodsPrice;// 产品价格表

	private Map<String, Object> ltsMap;// 分时抢购信息

	private int salerNums;// 在售人数

	private List<Map<String, String>> labelArray;// 商品标签信息

	private Long shareUserId;// 分享人ID

	private List<Map<String, Object>> activities;// 参与的活动信息

	private Map<String, Object> materials;// 素材信息

	private String livePlanId;

	private int isOverseasGoods;// 是否是海外购商品 1是  0不是

	private OverseasGoodsLable overseasGoodsLable;// 海外购商品标签

	public OverseasGoodsLable getOverseasGoodsLable() {
		return overseasGoodsLable;
	}

	public void setOverseasGoodsLable(OverseasGoodsLable overseasGoodsLable) {
		this.overseasGoodsLable = overseasGoodsLable;
	}

	public int getIsOverseasGoods() {
		return isOverseasGoods;
	}

	public void setIsOverseasGoods(int isOverseasGoods) {
		this.isOverseasGoods = isOverseasGoods;
	}

	public String getLivePlanId() {
		return livePlanId;
	}

	public void setLivePlanId(String livePlanId) {
		this.livePlanId = livePlanId;
	}

	public GoodsVo() {
	}

	public GoodsVo(Goods goods) {
		super.setId(goods.getId());
		super.setBn(goods.getBn());
		super.setBrandId(goods.getBrandId());
		super.setName(goods.getName());
		super.setTitle(goods.getTitle());
		super.setLabelName(goods.getLabelName());
		super.setSuggestedPrice(goods.getSuggestedPrice());
		super.setLowestPrice(goods.getLowestPrice());
		super.setUnit(goods.getUnit());
		super.setCategoryParentId(goods.getCategoryParentId());
		super.setCategoryId(goods.getCategoryId());
		super.setOnlineTime(goods.getOnlineTime());
		super.setOfflineTime(goods.getOfflineTime());
		super.setTalentLimit(goods.getTalentLimit());
		super.setThreshold(goods.getThreshold());
		super.setAscription(goods.getAscription());
		super.setTalentDisplay(goods.getTalentDisplay());
		super.setDiscount(goods.getDiscount());
		super.setOperateCosting(goods.getOperateCosting());
		super.setScoreRate(goods.getScoreRate());
		super.setGoodsChannelId(goods.getGoodsChannelId());
		super.setCreateTime(goods.getCreateTime());
		this.isOverseasGoods = goods.getOverseasGoods();
		if (StringUtils.isEmpty(goods.getRemark())) {
			super.setRemark("");
		} else {
			super.setRemark(goods.getRemark());
		}
		if (StringUtils.isEmpty(goods.getWxSmallImgpath())) {
			super.setWxSmallImgpath("");
		} else {
			super.setWxSmallImgpath(goods.getWxSmallImgpath());
		}
		super.setGoodsType(goods.getGoodsType());
		super.setSelfSupport(goods.getSelfSupport());
		super.setUpCount(goods.getUpCount());
		super.setDownCount(goods.getDownCount());
		super.setCanShoppingCart(goods.getCanShoppingCart());
		super.setSalesType(goods.getSalesType());
		super.setIsOpenGoods(goods.getIsOpenGoods());
	}

	public int getCommentNum() {
		return commentNum;
	}

	public void setCommentNum(int commentNum) {
		this.commentNum = commentNum;
	}

	public List<GoodsServiceVo> getGoodsServiceList() {
		return goodsServiceList;
	}

	public void setGoodsServiceList(List<GoodsServiceVo> goodsServiceList) {
		if (goodsServiceList == null || goodsServiceList.size() == 0) {
			this.goodsServiceList = new ArrayList<GoodsServiceVo>();
		} else {
			this.goodsServiceList = goodsServiceList;
		}

	}

	public GoodsCommission getGoodsCommission() {
		return goodsCommission;
	}

	public void setGoodsCommission(GoodsCommission goodsCommission) {
		this.goodsCommission = goodsCommission;
	}

	public int getRecommendNum() {
		return recommendNum;
	}

	public void setRecommendNum(int recommendNum) {
		this.recommendNum = recommendNum;
	}

	public List<SpecDesc> getSpecDescList() {
		return specDescList;
	}

	public void setSpecDescList(List<SpecDesc> specDescList) {
		if (specDescList == null || specDescList.size() == 0) {
			this.specDescList = new ArrayList<SpecDesc>();
		} else {
			this.specDescList = specDescList;
		}

	}

	public Brand getBrand() {
		return brand;
	}

	public void setBrand(Brand brand) {
		this.brand = brand;
	}

	public List<GoodsNavigate> getGoodNavigateList() {
		return goodNavigateList;
	}

	public void setGoodNavigateList(List<GoodsNavigate> goodNavigateList) {
		if (goodNavigateList == null || goodNavigateList.size() == 0) {
			this.goodNavigateList = new ArrayList<GoodsNavigate>();
		} else {
			this.goodNavigateList = goodNavigateList;
		}
	}

	public List<GoodsDetail> getGoodDetailList() {
		return goodDetailList;
	}

	public void setGoodDetailList(List<GoodsDetail> goodDetailList) {
		if (goodDetailList == null || goodDetailList.size() == 0) {
			this.goodDetailList = new ArrayList<GoodsDetail>();
		} else {
			this.goodDetailList = goodDetailList;
		}
	}

	public int getShareYanzhi() {
		return shareYanzhi;
	}

	public void setShareYanzhi(int shareYanzhi) {
		this.shareYanzhi = shareYanzhi;
	}

	public String getSaleStatus() {
		return saleStatus;
	}

	public void setSaleStatus(String saleStatus) {
		this.saleStatus = saleStatus;
	}

	public GoodsPrice getGoodsPrice() {
		return goodsPrice;
	}

	public void setGoodsPrice(GoodsPrice goodsPrice) {
		this.goodsPrice = goodsPrice;
	}

	public Map<String, Object> getLtsMap() {
		return ltsMap;
	}

	public void setLtsMap(Map<String, Object> ltsMap) {
		if (ltsMap == null) {
			this.ltsMap = new HashMap<String, Object>();
			// this.ltsMap.put("userSkuCount", 0);
		} else {
			this.ltsMap = ltsMap;
		}
	}

	public int getSalerNums() {
		return salerNums;
	}

	public void setSalerNums(int salerNums) {
		this.salerNums = salerNums;
	}

	public List<Map<String, String>> getLabelArray() {
		return labelArray;
	}

	public void setLabelArray(List<Map<String, String>> labelArray) {
		if (labelArray == null) {
			this.labelArray = new ArrayList<Map<String, String>>();
		} else {
			this.labelArray = labelArray;
		}
	}

	public Long getShareUserId() {
		return shareUserId;
	}

	public void setShareUserId(Long shareUserId) {
		this.shareUserId = shareUserId;
	}

	public List<Map<String, Object>> getActivities() {
		return activities;
	}

	public void setActivities(List<Map<String, Object>> activities) {
		if (activities == null) {
			this.activities = new ArrayList<Map<String, Object>>();
		} else {
			this.activities = activities;
		}
	}

	public Map<String, Object> getMaterials() {
		return materials;
	}

	public void setMaterials(Map<String, Object> materials) {
		if (materials == null) {
			this.materials = new HashMap<String, Object>();
		} else {
			this.materials = materials;
		}
	}

	public List<GoodsDetail> getGoodSpecImgList() {
		return goodSpecImgList;
	}

	public void setGoodSpecImgList(List<GoodsDetail> goodSpecImgList) {
		if (goodSpecImgList == null || goodSpecImgList.size() == 0) {
			this.goodSpecImgList = new ArrayList<GoodsDetail>();
		} else {
			this.goodSpecImgList = goodSpecImgList;
		}
	}

	public List<GoodsDetail> getGoodsNoticeImgList() {
		return goodsNoticeImgList;
	}

	public void setGoodsNoticeImgList(List<GoodsDetail> goodsNoticeImgList) {
		if (goodsNoticeImgList == null || goodsNoticeImgList.size() == 0) {
			this.goodsNoticeImgList = new ArrayList<GoodsDetail>();
		} else {
			this.goodsNoticeImgList = goodsNoticeImgList;
		}
	}

}
